home *** CD-ROM | disk | FTP | other *** search
- <!-- edited with XML Spy v4.3 U (http://www.xmlspy.com) by Dmitry Devishev (Kontora) -->
- <!-- deleted comment here -->
- <base>
- <AI>
- <Infantry TimeBeforeSniperCamouflage="2500" TimeOfLyingUnderFire="5000" LyingSoldierCover="0.5" RadiusOfFormation="960" LyingSpeedFactor="0.4" SpyGlassRadius="1600" SpyGlassAngle="60" SniperCamouflageDecreasePerShoot="0.002" SniperCamouflageIncrease="0.001075" StandLieRandomDelay="2500" SquadMemberLeaveInterval="500" MaxDistanceToThrowGrenade="320">
- <!--SquadMemberLeaveInterval - при выходе откуда либо между выходом солдат в squad будет такой интервал (мс).-->
- <!--SniperCamouflageIncreasePerSegment- за 1 сегмент вероятность обнаружить снайперва во время выстрела уменьшается на эту величину.-->
- <!--SniperCanouflageDecreasePerShoot - за 1 выстрел снайпера вероятность декамуфлироваться уменьшается. 1.0 - максимальная камуфлированность. -->
- <!--TimeBeforeSniperCamouflage: время, которое нужно снайперу стоять в idle перед тем, как закамуфлироваться ( ticks )-->
- <!--TimeOfLyingUnderFire: время лежания под огнём ( ticks )-->
- <!--LyingSoldierCover: вероятность попадания в лежащего солдата -->
- <!--RadiusOfFormation: максимальное расстояние убегания от центра формации ( ai points )-->
- <!--LyingSpeedFactor: множитель на скорость при ползании-->
- <!--SpyGlassRadius: радиус обзора бинокля ( ai points ) -->
- <!--SpyGlassAngle: угол обзора бинокля ( градусы, полный угол ) -->
- <!--StandLieRandomDelay: random на залегание/вставание ( ticks )-->
- <!--MaxDistanceToThrowGrenade: максимальное расстояние, начиная с которого солдат пытается бросить гранату (ai points) -->
- </Infantry>
- <General TimeDontSeeTheEnemyBeforeForget="30000" TimeDontSeeAABeforeForget="300000" PlayerForceMultiply="2.0" UpdatePeriod="2000">
- <Aviation ScoutFreePoint="1024" ScoutPointsPerMap="4" PeriodMax="30000" PeriodMin="25000" FighterPeriodMax="2000" FighterPeriodMin="1000" LongPeriodProbability="0.3" PeriodMultiply="2.0" FighterInterceptOffset="1000">
- <!--FighterInterceptOffset - на таком расстоянии от генеральских юнитов будет попытка перехватить истребителями вражеские самолеты.-->
- <!--LongPeriodProbability - c с такой вероятностью период проверки вылета самолетов будет увеличен в PeriodMultiply раз.-->
- <!--FighterPeriodMax / FighterPeriodMin - раз в это время FIGHTER вылетят - ели есть угроза, что враги пролетят над нашими юнитами.-->
- <!--PeriodMax / PeriodMin - раз в это время самолеты вылетят - ели их кто-нибудь позвал.-->
- <!--ScoutFreePoint - в точку пошлется Scout, если в этом радиусе нет юнотов генерала.-->
- <!--ScoutPointsPerMap - в карту равномерной сеткой нанесутся точки ( в количестве subj * subj ) и из них веберутся нужные и по ним пошлется скаут.-->
- </Aviation>
- <Swarm WaitTime="10" WaitTimeRandom="5" MinWeight="139" WeightCoefficient="1.0" IterationDuration="120" IterationDurationRandom="20" Iterations="5">
- <!--IterationDurationRandom + IterationDuration - время одной итерации атаки. Итерация завершается по истечении этого времени или когда все танки стоят без дела.-->
- <!--WaitTimeRandom + WaitTime - столько времения будут ждать, пока соберется ударный кулак (отставших не дожидаются). Либо когда все подошли (отставших нет). секунды.-->
- <!--MinWeight - Выбирается квадрат с наибольшим весом, если этот вес превосходит MinWeight то разрешается атака мобильными резервами-->
- <!--WeightCoefficient - Набираются все мобильные резервы с весом, по формуле WeightCoefficient * fWeight клетки а, собираются в «круге встречи» и направляются в квадрат с врагом.-->
- <!--Iterations - После выполнения Swarm танки останавливаются и принимается решение послать их на вторую атаку или вернуть в резерв. Максимальное количество атак задается Iterations-->
- </Swarm>
- <Intendant ProbabilityToRepairStorage="0.1" ProbabilityToRecaptureStorage="0.2" ResupplyCellPeriodAfterDeath="60" ResupplyCellPeriodAfterDeathRandom="30" RecaptureStorageMaxUnits="200" DangerousCellRadius="1280">
- <!--DangerousCellRadius - в этом радиусе от клетки, в которую поехал грузовик, в случае его смерти все клетки будут помечены как опасные и больше грузовики в них не поедут, пока не пройдет заданное время.-->
- <!--ProbabilityToRecaptureStorage - раз в UpdatePeriod будет кидаться рандом и если выпадет, то генерал пошлет войска _отбивать_ хранилище.-->
- <!--ProbabilityToRepairStorage - раз в UpdatePeriod будет кидаться рандом и если выпадет, то генерал пошлет чинить хранилище.-->
- <!--ResupplyCellPeriodAfterDeath (seconds) - в случае смерти грузовика на задании клетка, в которую вызван грузовик, помечается как опасная на время Intendant.ResupplyCellPeriodAfterDeath + Intendant.ResupplyCellPeriodAfterDeathRandom. в опасные клетки грузовички не посылаются-->
- <!--ResupplyCellPeriodAfterDeathRandom (miliseconds) - в случае смерти грузовика на задании клетка, в которую вызван грузовик, помечается как опасная на время Intendant.ResupplyCellPeriodAfterDeath + Intendant.ResupplyCellPeriodAfterDeathRandom. в опасные клетки грузовички не посылаются-->
- <!--RecaptureStorageMaxUnits - максимальная суммарная стоимость юнитов для перезахвата General.Intendant.RecaptureStorageMaxUnits-->
- </Intendant>
- <Artillery TimeToForgetAntiArtillery="20000" TimeToForgetUnit="60000" TimeToArtilleryFire="0" ProbabilityToShootAfterArtilleryFire="1.0" ShootsOfArtilleryFire="10" MinWeightToArtilleryFire="50" MinWeightToSendBombers="119">
- <!--TimeToForgetAntiArtillery: время забывания об антиартиллерийском круге (ticks) -->
- <!--TimeToForgetUnit: время забывания о юните (ticks) -->
- <!--TimeToArtilleryFire: вероятностное время для обстрела позиций врага (ticks) -->
- <!--ProbabilityToShootAfterArtilleryFire: вероятность, с которое будет проведён обстрел после прошествия TimeToArtilleryFire -->
- <!--ShootsOfArtilleryFire: количество выстрелов, которое геренал сделает артиллерией (определяется самой тормозной пушкой)-->
- <!--MinWeightToArtilleryFire: минимальный вес ячейки для обстрела её артиллерией -->
- <!--MinWeightToSendBombers: минимальный вес ячейки для посылки на неё бомберов -->
- </Artillery>
- <!--TimeDontSeeTheEnemyBeforeForget - в миллисекурдах, время за которое враги, вышедшие за пределы выидимости забываются.-->
- <!--TimeDontSeeAABeforeForget - в миллисекурдах, время за которое ЗЕНИТКИ, вышедшие за пределы выидимости забываются.-->
- <!--PlayerForceMultiply - во столько раз наступающие силы игрока считаются сильнее сил генерала.-->
- </General>
- <Aiming ShturmovikDistanceFactor="100">
- <!--ShturmovikDistanceFactor - ShturmovikDistanceFactor/DistanceInAIPoints + F( коэффилиент полученный из целеразрешения) - получаем rating юнита для выбора цели штурмовиком.-->
- </Aiming>
- <Engineers MineVisRadius="96" MineClearRadius="224" EngineerRepearPerQuant="213" EngineerFenceLenghtPerQuant="15" EngineerEntrenchLenghtPerQuant="15" EngineerResupplyPerQuant="320" EngineerMineCheckPeriod="1000" EngineerLoadRuPerQuant="320" TimeQuant="160" EngineerAntitankHealthPerQuant="1.1" MineAPersRuPrice="1000" MineATankRuPrice="2000" AntitankRuPrice="2000" EngineerRuCarryWeight="5000" RepairCostAdjust="175">
- <!--RepairCostAdjust - множитель стоимости 1 HP у всех HPObjects.-->
- <!--MineAPersRuPrice/MineATankRuPrice.AntitankRuPrice - стоимость в ресурсах при постановке мины.-->
- <!--EngineerRuCarryWeight - за один поход к складу 1 инженер столько RU приносит в грузовичок-->
- <!--EngineerLoadRuPerQuant - при загрузке ресурсов в грузовичок-->
- <!--MineVisRadius: радиус, в котором инженер видит мины ( ai points )-->
- <!--MineClearRadius: радиус, в котором инженер снимает мины ( ai points )-->
- <!--TimeQuant - квант работы инженера-->
- <!--EngineerRepearPerQuant - столько RU может бытт потрачено в TimeQuant на работу 1 инженером-->
- <!--EngineerFenceLenghtPerQuant - длина забора в сегментах за TimeQuant на работу 1 инженером-->
- <!--EngineerEntrenchLenghtPerQuant - длина окопа в сегментах за TimeQuant на работу 1 инженером-->
- <!--EngineerResupplyPerQuant - столько RU может бытт потрачено в TimeQuant на работу 1 инженером-->
- <!--EngineerMineCheckPeriod - раз в это время (мс) инженеры осматривают землю в поисках мин-->
- </Engineers>
- <Aviation DiveBeforeExplodeTime="5000" DiveAfterExplodeTime="150" FighterPatrolTime="180" FighterPathUpdateTime="500" PlaneTiltPerSecond="20.0" PlaneGuardStateRadius="2560.0" ShturmovikApproachRadius="500.0" PlaneMinHeight="400.0" DivebomberVertManeurRatio="3.0" GunplanesVertManeurRatio="1.0" HeavyFormationDistance="1.5" LightFormationDistance="3.0" PlanesBombHeight="0.8" StartRandom="1.5" ShturmovikPathUpdateTime="3000" MinDiveAngleForDiveBombers="45">
- <GroundAttack VertManeurRatio="1.0" MechNuberToDropBombs="1" InfantryNuberToDropBombs="20">
- <!--MechNuberToDropBombs - минимальное число Mech юнитов на которое будут сбрасываться бомбы-->
- <!--InfantryNuberToDropBombs - минимальное число Mech юнитов на которое будут сбрасываться бомбы-->
- <!--PlaneGuardStateRadius - радиус гарда в точках для фйтеров-->
- </GroundAttack>
- <!--DiveBeforeExplodeTime - время в милисекундах - столько самолет будет пикировать, перед взрывом (RND до этого значения)-->
- <!--DiveAfterExplodeTime - время в милисекундах - столько самолет будет пикировать, после взрыва.-->
- <!--MinDiveAngleForDiveBombers есди угол пикирования бомбардировщика больше этого, то он - divebomber.-->
- <!--MinHPToShturmovikDropBombsCoeff - if (hp in radius)*K > BombDamage then bomb!-->
- <!--StartRandom - для рандомного разброса точек вылета самолетов - вдоль направления полета - в BoundingBox самолета.-->
- <!--PlanesBombHeight - высота с которой начинают сбрасывать бомбы divebomers H = (PlaneHeight - PlaneMinHeight) * PlanesBombHeight-->
- <!--HeavyFormationDistance - то же, что и LightFormationDistance но для Бомберов и Парадроперов-->
- <!--DivebomberVertManeurRatio - во столько раз радиус вертикального поворота меньше радиуса виража ( скорость тангажа больше скорости виража ) для бомберов и штурмовиков-->
- <!--ShturmovikApproachRadius - расстояние с когторого штурмовик начинает заход на цель.-->
- <!--PlaneMinHeight - минмальная высота полета самолетов в точках.-->
- <!--FighterPatrolTime - столько времени Fighter патрулирует точку, в которую его вызвали (в секундах)-->
- <!--FighterPathUpdateTime - раз в это время Fighter проверяет куда сместился Bomber на который первый нападает-->
- <!--ShturmovikPathUpdateTime - раз в это время Shturmovik проверяет куда сместился Bomber на который первый нападает-->
- <!--PlaneTiltPerSecond - скорость крена самолетов, которые могут крениться -->
- <!--PlaneGuardStateRadius - радиус гарда в точках для фйтеров-->
- </Aviation>
- <Buildings DefaultFireplaceCoverage="0.2" CureSpeedInBuilding="0.005" TimeOfBuildingAlarm="8000" CampingTime="2000" InsideObjWeaponFactor="0.5" InsideObjCombatPeriod="200" BurningSpeed="0.0002" HPPercentToEscapeFromBuilding="0.1">
- <!--DefaultFireplaceCoverage - cover для стрелковых ячеек в зданиях. FinalCover = DefaultFireplaceCoverage * Building->FireplaceCoverage-->
- <!--CureSpeedInBuilding: скорость лечения в зданиях ( HP / tick )-->
- <!--TimeOfBuildingAlarm: время, в течении которого тревога в здании ( ticks )-->
- <!--CampingTime: время, которое солдаты собираются в здании перед участием в штурме ( ai ticks )-->
- <!--InsideObjWeaponFactor: множитель на weapon range при стрельбе солдатиков внутри объекта-->
- <!--InsideObjCombatPeriod: период времени, с которым комбатятся два солдата внутри объекта ( ai ticks ) -->
- <!--BurningSpeed: скорость горения ( % от max hp / ai tick )-->
- <!--HPPercentToEscapeFromBuilding: проценты здоровья здания, при которых солдаты из него выбегают-->
- </Buildings>
- <Artillery ThresholdInstallTime="0" ShootsToRange="4" RangedDispersionRadiusBonus="0.7" RangedAreaRadius="716" MaxAntiArtilleryRadius="6400" MinAntiArtilleryRadius="384" ShotsToMinimizeLocationRadius="13" RevealCirclePeriod="3000" RadiusToStartAntiartilleryFire="640" RelocationRadius="160" AudibilityTime="20000" ArtilleryRevealCoefficient="1000">
- <DispersionRatio LineMin="1.0" LineMax="1.0" HowitserMin="1.0" HowitserMax="2.0" BombMin="2.0" BombMax="2.0" CannonMin="3.0" CannonMax="3.5" RocketMin="1.0" RocketMax="0.5" GrenadeMin="1.0" GrenadeMax="1.0">
- <!--Min/Max - для соответствующей траектории отношение разброса вдоль траектории к разбросу перпендикулярно ей-->
- </DispersionRatio>
- <!--ArtilleryRevealCoefficient - это число делится на RevealRdius оружия и умножается на AntiArtilleryRadius при отрисовке кругов при антиартиллеристской борьбе-->
- <!--ThresholdInstallTime: пороговое время install/uninstall для того, чтобы пушки делали install/uninstall самостоятельно ( ai ticks ) -->
- <!--ShootsToRange: количество выстрелов для пристрелки артиллерии по области -->
- <!--RandgedDispersionRadiusBonus: коэффициент на dispersion если ведётся стрельба по пристрелянной области -->
- <!-- RangedAreaRadius: радиус области пристрелки ( ai points )-->
- <!--RelocationRadius: расстояние, на которое нужно сместиться артиллерии, чтобы сбросить info о её местонахождении ( ai points )-->
- <!--MaxAntiArtilleryRadius: максимальный радиус кружочка вокруг стреляющией артиллерии ( ai points )-->
- <!--MinAntiArtilleryRadius: минимальный радиус кружочка вокруг стреляющей артиллерии ( ai points )-->
- <!--ShotsToMinimizeLocationRadius: количество выстрелов, чтобы свевти MaxAntiArtilleryRadius к MinAntiArtilleryRadius ( ai points )-->
- <!--AudibilityTime: время, которое рисуются круги обнаружения после выстрела артиллерии ( ai ticks ) -->
- <!--RevealCirclePeriod: периодичность рисования кругов антиартиллерийской борьбы ( ai ticks ) -->
- <!--RadiusToStartAntiartilleryFire: радиус кругов от выстрелов, начиная с которого артиллерия начинает antiartillery борьбу ( ai points )-->
- </Artillery>
- <Paratroopers ParatrooperFallSpeed="0.05" ParadropSpred="4" PlaneParadropInterval="80" PlaneParadropIntervalPerpMin="20" PlaneParadropIntervalPerpMax="50" ParatrooperGroundScanPeriod="200">
- <!--PlaneParadropIntervalPerpMin / PlaneParadropIntervalPerpMax - для разброса перпендикулярно вектору движения самолета.-->
- <!--ParatrooperFallSpeed - в точках/мс вертикальная скорость парашютистов-->
- <!--ParadropSpred - на столько тайлов парашютист может отклониться при падении (чтобы не падать на залоченные тайлы)-->
- <!--PlaneParadropInterval - расстояние в точках между 2 позициями самолета при выброске парашютиста-->
- <!--ParatrooperGroundScanPeriod раз в это время (мс) парашютисты проверяют не падают ли они на залоченные тайлы-->
- </Paratroopers>
- <Morale ResupplyRadius="300" MoraleAdditionPerTick="0.00005" MoraleDecreasePerTick="0.000006" ProbabilityToDecreaseMorale="0.9" MinValue="0.1" CoeffToLowMoraleWithoutOfficer="2" DispersionCoeff="0.8" RelaxCoeff="0.2" AimingCoeff="0">
- <!--ResupplyRadius - моральные грузовички в этом районе поднимают мораль. задается в AI точках-->
- <!--MoraleDecreasePerTick: убывание морали от времени (мораль/ ai tick )-->
- <!--ProbabilityToDecreaseMorale: вероятность на уменьшение морали-->
- <!--MoraleAdditionPerTick: генеральская машина добавляет столько морали-->
- <!--MinValue: Минимальное значение до которого упадет мораль-->
- <!--CoeffToLowMoraleWithoutOfficer: во сколько раз быстрее понижается мораль, если взвод без офицера-->
- <!--DispersionCoeff: коэффициент влияния морали на dispersion [ disp_cur = disp/(Morale + k*(1-Morale) same for RelaxCoeff, AimingCoeff ]-->
- <!--RelaxCoeff: коэффициент влияния морали на relax time-->
- <!--AimingCoeff: коэффициент вляиния морали на aiming time-->
- </Morale>
- <AntiAviationArtillery AimIterations="1">
- <!--AimIterations - прицеливание происходит итеративно. количество итераций.-->
- </AntiAviationArtillery>
- <TransportAndResupply MainStorageHealingSpeed="50" ResupplyRadius="640" TransportRuCapacity="35000.0" TransportLoadTime="3000" TransportLoadRuDistance="400" ResupplyOffset="180" ResupplyBalanceCoeff="0.0000001" ResupplyMaxPathLenght="232.0" SoldierRUPrice="3500.0" TakeStorageOwnershipRadius="300" MedicalTruckHealRadius="1000" MedicalTruckHealPerUpdateDuration="0.5">
- <!--MedicalTruckHealPerUpdateDuration - на столько HP медицинский (умеющий делать ResupplyHumanResource) грузовичок лечит пехоту за 1 BehUpdateDuration.-->
- <!--MedicalTruckHealRadius - радиус в котором медицинский (умеющий делать ResupplyHumanResource) грузовичок лечит пехоту.-->
- <!--TakeStorageOwnershipRadius - радиус, в котором должны быть только вражеские юниты, чтобы произошла смена владельца склада.-->
- <!--ResupplyMaxPathLenght - для поиска точик, находящийся под resupply. задается в AI ТАЙЛАХ-->
- <!--MainStorageHealingSpeed - главное хранилище лечится с такой скоростью (HP в секунду)-->
- <!--SoldierRUPrice -стоимость солдата в RU. нужна для медицинского грузовичка.-->
- <!--ResupplyBalanceCoeff - в формуле WorkToDo * Coeff + 1 / Distance = значимость юнита для Resupply & Reload. Work - стоимость в RU починки или перезарядки.-->
- <!--ResupplyOffset - грузовик может подъежать к точке для Resupply & Repair с ошибкой на столько точек.-->
- <!--TransportLoadRuDistance - дистанция, на которую должен подъехать грузовик к складу чтобы послать грузчиков-->
- <!--ResupplyRadius - в точках радиус, в котором грузовичок ищет кого перезарядить или починить-->
- <!--TransportLoadTime столько (мс) загружается транспорт у хранилища ресурсов-->
- </TransportAndResupply>
- <Follow StopRadius="288" EqualizeSpeedRadius="384" GoRadius="352" WaitRadius="768">
- <!--StopRadius: радиус от ведущего, в котором можно остановиться-->
- <!--EqualizeSpeedRadius: радиус от ведущего, в котором нужно приравнять скорость к его скорости-->
- <!--GoRadius: радиус, из-за которого нужно ехать за ведущим-->
- <!--WaitRadius: радиус, из-за которого ведущий останавливается-->
- </Follow>
- <CombatSituation Damage="1500" TimeDamage="5000" MovingEnemyMechNumber="5" MovingEnemyInfantryNumber="30">
- <!--DamageToCombatSituation/TimeDamagaToCombatSituation - суммарный вред, который должен лететь в единицу времени, чтобы ситуация рассматривалась как комбатная.-->
- <!--MovingEnemy(Mech/Infantry)Number - количество видимых идущих врагов для определения комбатной ситуации.-->
- </CombatSituation>
- <Weather Time="50" TimeRandom="20" Period="840" PeriodRandom="200" FireRangeCoefficient="0.9" TimeToFadeOff="5">
- <!--TimeToFadeOff - время затухания погодных эффектов после их отключения.-->
- <!--Time + TimeRandom - время, на которое по random включается погода (в секундах)-->
- <!--Period + PeriodRandom - период включения погоды (в секундах).-->
- <!--FireRangeCoefficient: коэффициент на радиус стрельбы при плохой погоде -->
- </Weather>
- <Flags Radius="320" PointsSpeed="1" PointsToReinforcement="100" TimeToCapture="5000" PlayerPointsSpeed="1">
- <!--Raidus: зона флага (ai points)-->
- <!--PointsSpeed: очков/секунду-->
- <!--PointsToReinforcement: очков для прихода подкрепления-->
- <!--TimeToCapture: время нахождения в зоне флага, чтобы его захватить (ticks)-->
- <!--PlayerPointsSpeed: очков/секунду независимо от наличия флагов-->
- </Flags>
- <Common MaxFireRangeToShootByLine="1056" NumToScanInSegm="50" BehUpdateDuration="1500" SoldierBehUpdateDuration="3000" AABehUpdateDuration="50" DeadSeeTime="1000" TimeToReturnGun="4000" MinRotateAngle="35" TimeBeforeCamouflage="5000" RadiusOfHitNotify="160" TimeOfHitNotify="1000" CallForHelpRadius="1000" AICallForHelpRadius="3000" TimeToDisappear="60000" GuardStateRadius="960" GoodAttackProbability="0.6" AreaDamageCoeff="0.3" TankTrackHitPoints="20.0" FenceSegmentRuPrice="2000.0" TrenchSegmentRuPrice="1000.0" TrajectoryLineRatio="0.7" TrajectoryBombG="0.0001" AmbushBeginAttackCriteria="0.5" CoeffForRandomDelay="1.2" HeightForVisRadiusInc="10.0" FatalityProbability="0" DamageForMassiveDamageFatality="0.8" MassiveDamageFatalityProbability="0.5" HpPercentageToWaitMedic="0.5" TankPitCover="0.5" UnitEntrenchTime="1500" TimeOfPreDisappearNotify="500" ArmorForAreaDamage="15">
- <!--MaxFireRangeToShootByLine - на такое расстояние (не больше) стреляют по траектории LINE - в AI точках (AI.tile = 32 AI.point)-->
- <!--UnitEntrenchTime - за сколько юнит,который занимает площаль 1 AI тайл, будет окопан (в миллисекундах).-->
- <!--FenceSegmentRuPrice/TrenchSegmentRuPrice - когда инженеры строят в процессе игры, то это стоимость окопов и пехотных заграждений это стоимость одного сегмента.-->
- <!--HpPercentageToWaitMedic - когда у юнита HP меньше, чем эта величина, юнит начинает звать врача-->
- <!--HpPercentageToWaitMedic - когда у юнита HP меньше, чем эта величина, юнит начинает звать врача-->
- <!--AmbushBeginAttackCriteria - доля юнитов, которые могут атаковать из засады, необходимая для того, чтобы вся засада начала атаковать.-->
- <!--TrajectoryBombG - ускорение свободного падения для бомбы (точки/тик в квадрате)-->
- <!--TrajectoryLineRatio при стрельбе по пологой траектории такую часть дистанции снаряд летит по прямой-->
- <!--TankTrackHitPoints - здоровье гусеницы. нужно для ее починки.-->
- <!--NumToScanInSegm: количество юнитов, для которых выполняется полное сканирование в за сегмент -->
- <!--AABehUpdateDuration: время между updates поведения ( ticks ) для зениток во время стрельбы по самолетам-->
- <!--BehUpdateDuration: время между updates поведения ( ticks )-->
- <!--SoldierBehUpdateDuration: время между updates поведения для солдат ( ticks )-->
- <!--DeadSeeTime: время, которое мертвецы видят ( ticks )-->
- <!--TimeToReturnGun: время между концом стрельбы и возвращением turret в default position ( ticks )-->
- <!--TimeBeforeCamouflage: время, которое нужно стоять в idle перед тем, как закамуфлироваться ( ticks )-->
- <!--RadiusOfHitNotify: радиус, в котором солдам проверяет на взрывы, чтобы решить - ложиться или нет ( ai points )-->
- <!--TimeOfHitNotify: время между updates проверок на взрывы, чтобы залечь ( ticks )-->
- <!--CallForHelpRadius: радиус для того, чтобы юнит завёлся на врага в shared sight видимости ( ai points )-->
- <!--AICallForHelpRadius: радиус для того, чтобы AI юнит завёлся на врага в shared sight видимости ( ai points )-->
- <!--TimeToDisappear: время, через которое техника исчезает после смерти-->
- <!--GuardStateRadius: максимальное удаления от охраняемой точки в guard state ( ai points ) -->
- <!--GoodAttackProbability: вероятность пробития брони, при которой не нужно маневрировать -->
- <!--AreaDamageCoeff: коеффициент на area damage-->
- <!--MinRotateAngle: минимальный угол, на который можно повернуть базу во время атаки turret-ом, чтобы улучшить свою позицию ( градусы )-->
- <!--CoeffForRandomDelay: aiming time и relax time умножаются на Random( 1.0f, CoeffForRandomDelay )-->
- <!--HeightForVisRadiusInc: на какую высоту по z нужно подняться, что радиус видимости увеличился на 1 AI тайл-->
- <!--FatalityProbability: вероятность для безусловной фаталити (вероятность безвозвратной потери сценарийного юнита)-->
- <!--DamageForMassiveDamageFatality: минимальный процент damage для massive damage фаталити-->
- <!--MassiveDamageFatalityProbability: вероятность для massive damage фаталити-->
- <!--TimeOfPreDisappearNotify: время, за которое нужно прислать на клиент уведомление об исчезновении юнита (для внутреннего использования программистами!)-->
- <!--ArmorForAreaDamage: максимальная броня, пробиваемая area damage-->
- </Common>
- <Levels>
- <Easy>
- <Friends Silhouette="1" Piercing="2" Damage="2" RotateSpeed="2" Dispersion="0.7"/>
- <Enemies Silhouette="1" Piercing="0.8" Damage="0.2" RotateSpeed="0.5" Dispersion="1.2"/>
- </Easy>
- <Normal>
- <Friends Silhouette="1" Piercing="1" Damage="1" RotateSpeed="1" Dispersion="1"/>
- <Enemies Silhouette="1" Piercing="1" Damage="1" RotateSpeed="1" Dispersion="1"/>
- </Normal>
- <Hard>
- <Friends Silhouette="1" Piercing="0.8" Damage="0.8" RotateSpeed="0.8" Dispersion="1"/>
- <Enemies Silhouette="0.8" Piercing="1.2" Damage="1.2" RotateSpeed="0.8" Dispersion="1"/>
- </Hard>
- </Levels>
- <TargetResolution>
- <Gunplane AlphaAttack1="1.0" AlphaAttack2="0.3" AlphaGo="0.005" AlphaKill="-1.0" AlphaPrice="100.0" LimitTime="1000" DistanceToCenter="100">
- <!--gunplane target resolution
- *********оцениваемые параметры:
- fKillEnemyTime - за столько мс мы убъем врага
- fEnemyKillUsTime - за столько мс враг убъет нас
- fHPPercent - здоровье врага в процентах от его максимального
- fPrice - AI price врага
- fDistFromCenter - расстояние в точках от врага до точки вызова
- fTimeToGo - = абсолютная величина((направление самолета - направление на цель) / 360 градусов) .
- ********* формула
- DistanceToCenter / fDistFromCenter +
- ( 0.8f + fHPPercent * 0.2f ) * fAlphaAttack1 * Min( 0.0f, fKillEnemyTime - F_LIMIT_TIME ) -
- ( 0.8f + fHPPercent * 0.2f ) * fAlphaAttack2 * Max( 0.0f, fKillEnemyTime - F_LIMIT_TIME ) -
- fAlphaGo * fTimeToGo -
- fAlphaKill * fEnemyKillUsTime +
- fPrice * fAlphaPrice;
- *********
- цель выбирается по максимальному значению формулы.-->
- </Gunplane>
- </TargetResolution>
- <RevealInfo>
- <arm_heavy Query="0" MovingOff="0" Distance="0" Time="0"/>
- <avia_lander Query="0" MovingOff="0" Distance="0" Time="0"/>
- <train_armor Query="0" MovingOff="0" Distance="0" Time="0"/>
- <spg_antitank Query="0" MovingOff="0" Distance="0" Time="0"/>
- <avia_scout Query="0" MovingOff="0" Distance="0" Time="0"/>
- <art_aagun Query="0" MovingOff="0" Distance="0" Time="0"/>
- <art_super Query="0" MovingOff="0" Distance="0" Time="0"/>
- <track Query="0" MovingOff="0" Distance="0" Time="0"/>
- <art_heavy_gun Query="0" MovingOff="0" Distance="0" Time="0"/>
- <trn_tractor Query="0" MovingOff="0" Distance="0" Time="0"/>
- <trn_medicine Query="0" MovingOff="0" Distance="0" Time="0"/>
- <trn_support Query="0" MovingOff="0" Distance="0" Time="0"/>
- <officer Query="0" MovingOff="0" Distance="0" Time="0"/>
- <train_super Query="0" MovingOff="0" Distance="0" Time="0"/>
- <spg_aagun Query="0" MovingOff="0" Distance="0" Time="0"/>
- <arm_super Query="0" MovingOff="0" Distance="0" Time="0"/>
- <spg_super Query="0" MovingOff="0" Distance="0" Time="0"/>
- <avia_super Query="0" MovingOff="0" Distance="0" Time="0"/>
- <avia_fighter Query="0" MovingOff="0" Distance="0" Time="0"/>
- <avia_bomber Query="0" MovingOff="0" Distance="0" Time="0"/>
- <trn_military_auto Query="0" MovingOff="0" Distance="0" Time="0"/>
- <art_mortar Query="0" MovingOff="0" Distance="0" Time="0"/>
- <art_howitzer Query="0" MovingOff="0" Distance="0" Time="0"/>
- <arm_medium Query="0" MovingOff="0" Distance="0" Time="0"/>
- <train_locomotive Query="0" MovingOff="0" Distance="0" Time="0"/>
- <trn_carrier Query="0" MovingOff="0" Distance="0" Time="0"/>
- <train_carrier Query="0" MovingOff="0" Distance="0" Time="0"/>
- <spg_assault Query="0" MovingOff="0" Distance="0" Time="0"/>
- <art_rocket Query="0" MovingOff="0" Distance="0" Time="0"/>
- <half-track Query="0" MovingOff="0" Distance="0" Time="0"/>
- <engineer Query="0" MovingOff="0" Distance="0" Time="0"/>
- <soldier Query="0" MovingOff="0" Distance="0" Time="0"/>
- <art_heavy_mg Query="0" MovingOff="0" Distance="0" Time="0"/>
- <avia_attack Query="0" MovingOff="0" Distance="0" Time="0"/>
- <arm_light Query="0" MovingOff="0" Distance="0" Time="0"/>
- <train_cargo Query="0" MovingOff="0" Distance="0" Time="0"/>
- <art_gun Query="0" MovingOff="0" Distance="0" Time="0"/>
- <trn_civilian_auto Query="0" MovingOff="0" Distance="0" Time="0"/>
- <!-- Query: вероятность того, что юнит раскроется (кидается каждые [1,2] секунды) -->
- <!-- MovingOff: вероятность того, что юнит скроется, потому что он не стреляет (кидается каждые [1,2] секунды) -->
- <!-- Distance: на какое расстояние нужно отъехать от места раскрытия, чтобы скрыться -->
- <!-- Time: через какое время после раскрытия скроется (в ticks) -->
- </RevealInfo>
- </AI>
- <Scenario Reincarnation="0.7">
- <ScenarioTrackerSave>ScenarioTracker.sav</ScenarioTrackerSave>
- </Scenario>
- <Sound SFXMasterVolume="0.8" StreamMasterVolume="0.6" EnableSFX="1" EnableStream="1" TimeToFade="1000"/>
- <Scene>
- <Weather MaxCalmInterval="3600" MinChangeInterval="120" MaxStormInterval="600">
- <Rain Density="1000" Height="300.0">
- <BottomColor A="32" R="255" G="255" B="255"/>
- <TopColor A="16" R="255" G="255" B="255"/>
- <Direction x="0.01" y="0.01" z="-0.7"/>
- </Rain>
- <Snow MinDensity="300" MaxDensity="3000" Height="500.0" FallingSpeed="0.05" Amplitude="0.05" Frequency="0.003">
- <Color A="255" R="255" G="255" B="255"/>
- </Snow>
- <Sand Density="1000" Height="300.0" ConeRadius="70.0" Amplitude="0.01" Frequency="0.001" Speed="10.0" ConeSpeed="0.1">
- <Wind x="-0.01" y="-0.01" z="0.0"/>
- </Sand>
- </Weather>
- <Sound MixDelta="100" UpdatePeriod="1000" DimTime="100" ScreenWidth="1024" ScreenHeight="768">
- <TerrainSounds NonCycledMinRadius="5" NonCycledMaxRadius="30" Pause="3000" PauseRandom="5000" NumSounds="3" MinRadius="0.2" MaxRadius="0.8" CriticalWeight="100.0">
- <!--NonCycledMinRadius- NonCycledMaxRadius - стандартные для нециклических звуков террейна радиусы слышимости-->
- <!--CriticalWeight - для экрана 1024х768 количество тайлов с 1 звучащим террейном, необходимое, чтобы террейн звучал с максимальной громкостью. Для других разрешений пересчитывается.-->
- <!--MinRadius - MaxRadius - в долях экрана. для вычисления громкости с расстоянием от центра экрана.-->
- <!--Pause + PauseRandom - составляющие паузы между 2 запусками нециклических звуков от террейна-->
- <!--NumSounds - количество террейнов звуки от от которых могут играть одновременно, играющих одновременно.-->
- </TerrainSounds>
- <SpeedTuning SoundCellSize="200" MapSoundCellSize="500">
- <!--размер звуковой клетки. Для настройки скорости.-->
- <!--MapSoundCellSize - размер звуковой клетки для звуков от карты. Для настройки скорости.-->
- </SpeedTuning>
- <MapSounds UpdateTime="700" PeriodRandom="10000" Period="3000" MinCountToPlayLooped="3">
- <!--MinCountToPlayLooped - количество звуков одного вида в клекте, необходимое для того, чтобы играл зацикленный звук.-->
- <!--PeriodRandom/Period - промежуток между звуками от карты.-->
- <!--UpdateTime - время между 2 пересчетами звуков, прописанных в карте.-->
- </MapSounds>
- <Acknowledgements MinRadius="30" MaxRadius="50" WaitForCancel="300" SelectionsBoredCounter="3" MinUnitsToRush="10" MinUnitsToTravel="10" BoredIntervalRandom="20000" BoredInterval="20000">
- <!--BoredIntervalRandom / BoredInterval - для задания промежктков между 2 боредами.-->
- <!--MinUnitsToTravel - столько пехотинцев должно идти в походной формации, чтобы они стали произносить походные звуки.-->
- <!--MinUnitsToRush - столько пехотинцев должно бежать в атаку, чтобы они стали кричать УРА.-->
- <!--SelectionsBoredCounter - если юнит селектить столько раз подряд то он начнет ругаться.-->
- <!--WaitForCancel - если прищел Positive, то если в тесение этого времени не пришел Negative, то играется Positive.-->
- <!--MinRadius-MaxRadius - стандартные для всех асков радиусы слышимости-->
- </Acknowledgements>
- <StreamingSounds CombatMusicPlayWONotify="10000" CombatMusicFade="5000" SilentPause="3000" SilentPauseRandom="5000" PauseBetween2Idles="15000" CombatMusicVolume="0.7" IdleMusicVolume="0.6">
- <!--CombatMusicVolume/IdleMusicVolume - громкость музыки Combat/Idle относительно StreamMasterVolime. От 1 до 0.-->
- <!--CombatMusicFade - время затухания комбатной музыки в милисекундах.-->
- <!--SilentPausе - постоянная составляющая паузы после конца Combat музыки перед началом Idle музыки-->
- <!--SilentPausеRandom - случайная составляющая паузы после конца Combat музыки перед началом Idle музыки-->
- <!--PauseBetween2Idles - пауза между запусками 2 мелодий IDLE.-->
- <!--CombatMusicPlayWONotify - сколько времени доложно длиться перемерие, чтобы стала играть IDLE музыка-->
- </StreamingSounds>
- <CombatSounds FearRadius="25" FearTime="15000">
- <!--FearTime - после комбатного звука еще столько милисекунд не будут играться мирные звуки.-->
- <!--FearRadius - при звукании комбатного звука все мирные замолкают в этом радиусе.-->
- </CombatSounds>
- <!--ScreenWidth/ScreenHeight - параметры дисплея, на которые рассчитан звук. Для других параметров будет выполнен пересчет.-->
- <!--MixDelta - максимальная разница во времени (мс) для звуков, которые нужно микшировать.-->
- <!--UpdatePeriod - раз в это время (мс) чистятся неслышные звучки.-->
- <!--DimTime - столько милисекунд будут затухать залупленные звучки перед удалением.-->
- </Sound>
- <Haze Enable="1" Height="0.25">
- <TopColor A="45" R="0" G="0" B="100"/>
- <BottomColor A="0" R="0" G="255" B="255"/>
- </Haze>
- <GunTrace ProbabilityCoeff="1.0" SpeedCoeff="1.0" Length="0.33">
- <Color A="200" R="232" G="169" B="23"/>
- </GunTrace>
- <SunLight>
- <Summer>
- <Ambient A="1.0" R="0.6" G="0.6" B="0.6"/>
- <Diffuse A="1.0" R="0.9" G="0.9" B="0.9"/>
- <Direction X="1" Y="1" Z="-2"/>
- </Summer>
- <Winter>
- <Ambient A="1.0" R="0.6" G="0.6" B="0.6"/>
- <Diffuse A="1.0" R="0.9" G="0.9" B="0.9"/>
- <Direction X="1" Y="1" Z="-3"/>
- </Winter>
- <Africa>
- <Ambient A="1.0" R="0.4" G="0.4" B="0.4"/>
- <Diffuse A="1.0" R="1.0" G="1.0" B="1.0"/>
- <Direction X="1" Y="1" Z="-2"/>
- </Africa>
- </SunLight>
- <Colors>
- <Summer>
- <Text>
- <Objectives>
- <Received A="255" R="255" G="255" B="90"/>
- <Completed A="255" R="0" G="255" B="0"/>
- <Failed A="255" R="255" G="0" B="0"/>
- </Objectives>
- <Information A="255" R="255" G="255" B="90"/>
- <Chat A="255" R="255" G="255" B="90"/>
- <ChatAllies A="255" R="0" G="255" B="0"/>
- <Default A="255" R="216" G="189" B="62"/>
- </Text>
- <FlashFire A="85" R="255" G="255" B="255"/>
- <FlashExplode A="100" R="253" G="134" B="0"/>
- <LevelUp A="255" R="128" G="255" B="255"/>
- </Summer>
- <Winter>
- <Text>
- <Objectives>
- <Received A="255" R="255" G="255" B="90"/>
- <Completed A="255" R="0" G="255" B="0"/>
- <Failed A="255" R="255" G="0" B="0"/>
- </Objectives>
- <Information A="255" R="255" G="255" B="90"/>
- <Chat A="255" R="255" G="255" B="90"/>
- <ChatAllies A="255" R="0" G="255" B="0"/>
- <Default A="255" R="216" G="189" B="62"/>
- </Text>
- <FlashFire A="85" R="255" G="255" B="255"/>
- <FlashExplode A="100" R="253" G="134" B="0"/>
- <LevelUp A="255" R="255" G="255" B="255"/>
- </Winter>
- <Africa>
- <Text>
- <Objectives>
- <Received A="255" R="255" G="255" B="90"/>
- <Completed A="255" R="0" G="255" B="0"/>
- <Failed A="255" R="255" G="0" B="0"/>
- </Objectives>
- <Information A="255" R="255" G="255" B="90"/>
- <Chat A="255" R="255" G="255" B="90"/>
- <ChatAllies A="255" R="0" G="255" B="0"/>
- <Default A="255" R="216" G="189" B="62"/>
- </Text>
- <FlashFire A="85" R="255" G="255" B="0"/>
- <FlashExplode A="100" R="253" G="134" B="0"/>
- <LevelUp A="255" R="255" G="255" B="255"/>
- </Africa>
- <ToolTip>
- <Mission A="255" R="255" G="190" B="52"/>
- <InterMission A="255" R="255" G="190" B="52"/>
- </ToolTip>
- <Markup>
- <Arrow A="96" R="0" G="0" B="128"/>
- </Markup>
- </Colors>
- <ToolTipTime Show="300" Hide="5000000"/>
- <InfantryIdle Interval="20000" Random="5000"/>
- <PlayerColors>
- <Player A="255" R="0" G="255" B="0"/>
- <Neutral A="255" R="128" G="128" B="128"/>
- <Allied1 A="255" R="42" G="31" B="255"/>
- <Allied2 A="255" R="85" G="159" B="255"/>
- <Allied3 A="255" R="0" G="0" B="128"/>
- <Allied4 A="255" R="0" G="255" B="255"/>
- <Enemy1 A="255" R="255" G="0" B="0"/>
- <Enemy2 A="255" R="252" G="174" B="174"/>
- <Enemy3 A="255" R="255" G="127" B="0"/>
- <Enemy4 A="255" R="128" G="0" B="0"/>
- </PlayerColors>
- <Camera>
- <Earthquake Attenuation="5" Period="8" Duration="1000"/>
- </Camera>
- </Scene>
- <UI BlinkColor1="4292476964" BlinkColor0="4283782485" BlinkSubTime="200" BlinkTime="2000" TextAnimTime="10000">
- <InterMissionStreamSound>music\brief_common</InterMissionStreamSound>
- <CreditsStreamSound>music\credits</CreditsStreamSound>
- </UI>
- <World MinRotateRadius="60.0">
- <Actions>
- <User>
- <Friendly>41, 25, 28, 4, 14, 15, 0</Friendly>
- <Neutral>4, 25, 28, 14, 1, 15, 0</Neutral>
- <Enemy>2, 14, 15, 3, 0</Enemy>
- <Self>42, 5, 26, 27, 16</Self>
- </User>
- <Exclude>
- <Friendly/>
- <Neutral/>
- <Enemy/>
- </Exclude>
- </Actions>
- </World>
- <Net TimeOut="60" ServerListTimeOut="20" TimeToAllowDropByLag="30" GameVersion="2">
- <!--TimeOut: время, через которое drop клиента в сетевом движке (sec)-->
- <!--ServerListTimeOut: время, через которое удаление сервера из serverslist (sec)-->
- <!--TimeToAllowDropByLag: время, через которое разрешается сделать drop лагающего игрока (sec) -->
- <!--GameVersion: версия протокола и AI поведения-->
- </Net>
- </base>
-